package com.aistudy.file.service;

import org.springframework.web.multipart.MultipartFile;

/**
 * Minio文件操作服务接口
 * 
 * @author aistudy
 */
public interface IMinioService {
    
    /**
     * 上传文件
     * 
     * @param file 文件
     * @return 文件访问路径
     * @throws Exception
     */
    String uploadFile(MultipartFile file) throws Exception;
    
    /**
     * 获取文件访问的签名URL
     * 
     * @param objectName 对象名称
     * @param expires 过期时间（秒）
     * @return 签名URL
     * @throws Exception
     */
    String getPresignedObjectUrl(String objectName, Integer expires) throws Exception;
    
    /**
     * 删除文件
     * 
     * @param objectName 对象名称
     * @throws Exception
     */
    void removeObject(String objectName) throws Exception;
    
    /**
     * 检查文件是否存在
     * 
     * @param objectName 对象名称
     * @return 是否存在
     */
    boolean checkObjectExist(String objectName);
} 